package com.yunji.cabinet.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunji.common.annotation.Excel;
import com.yunji.common.base.BaseDelFlagDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * @version 1.0
 * @Project: yunji-coffee
 * @Package com.yunji.cabinet.domain
 * @FileName CabinetCell.java
 * @Copyright Copyright © 2024 云集互联. All Rights Reserved
 * Company		com
 * @CreateTime 2024-04-08 17:43:43
 * @Description 货柜格子信息
 * @Modification Author                    History Time			Version				Description
 * --------------------------------------------------------------------------------
 * HuaAo				2024-04-08 17:43:43		1.0					1.0 Version
 * @since JDK 1.8.0_202
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "t_container_cell", description = "货柜格子信息")
@Data
@TableName("t_container_cell")
public class ContainerCell extends BaseDelFlagDO implements Serializable {
    private static final long serialVersionUID = -6138070539751882546L;

    @ApiModelProperty("主键ID")
    @Excel(name = "主键ID", width = 15)
    @TableId(type = IdType.AUTO)
    private Long cellId;

    @ApiModelProperty(value = "货柜ID")
    @Excel(name = "货柜ID", width = 15)
    private Long containerId;

    @ApiModelProperty(value = "商品ID", required = true)
    @Excel(name = "商品ID", width = 15)
    private Long productId;

    @ApiModelProperty(value = "格子号", required = true)
    @Excel(name = "格子号", width = 15)
    private Integer ordinal;

    @ApiModelProperty("格子状态 0-无商品 1-有商品")
    @Excel(name = "格子状态 0-无商品 1-有商品", width = 15)
    private Integer status;

    @ApiModelProperty("消息发送 0-未发送 1-已发送")
    private Integer sendStatus;

    @ApiModelProperty(value = "状态最后更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date statusUpdateTime;

    @ApiModelProperty("商品数量")
    private Integer productQuantity;

    @ApiModelProperty("最大商品上限")
    private Integer ceilingQuantity;

    @ApiModelProperty("缺货状态 0-正常 1-缺货")
    private Integer lackStatus;

    @ApiModelProperty("缺货更新时间")
    private Date lackTime;

    @ApiModelProperty("红外检测距离")
    private Integer distance;

}
